home *** CD-ROM | disk | FTP | other *** search
/ Grand Slam 3 / Grand Slam 3.iso / 002 / clno_151.arj / CLEANOUT.DOC < prev    next >
Text File  |  1995-07-30  |  36KB  |  918 lines

  1.  
  2.          ┌╦═══╦┐┌╦     ┌╦═══╦┐┌╦═══╦┐┌╦═╗ ╦┐┌╦═══╦┐┌╦   ╦┐┌╔═╦═╗┐
  3.          │║     │║     ├╬══   ├╬═══╬┤│║ ║ ║││║   ║││║   ║│   ║
  4.          └╩═══╩┘└╩═══╩┘└╩═══╩┘└╩   ╩┘└╩ ╚═╩┘└╩═══╩┘└╩═══╩┘   ╩
  5.  
  6.                               Version 1.51
  7.  
  8.      Program and documentation (C) 1995 by Klaus Nitsche & BearWare
  9.  
  10.                              ╒════════════╕
  11.                              │  BearWare  │
  12.                              ╘════════════╛
  13.  
  14.     A utility to keep your Binkley-style outbound directories clean
  15.  
  16.    If you are in a hurry to get things going, read the "Quick Start"
  17.  section below.  If everything falls to pieces then, come back and read
  18.                     the whole documentation. <grin>
  19.  
  20.  
  21. ┌─────┬────────────────────────────────────────────────────────────────┐
  22. │  1  │ IMPORTANT NOTE                                                 │
  23. └─────┴────────────────────────────────────────────────────────────────┘
  24.  
  25. CleanOut is a DANGEROUS tool!
  26. ─────────────────────────────
  27.  
  28. Its main purpose involves deleting files.  Currently this is done in a
  29. quick and painless way; future versions might have the ability to apply
  30. more elegant methods, such as roasting them slowly.  (I have a sadistic
  31. nature.)
  32.  
  33. It is assumed that you are well familiar with the way Binkley-style mailers
  34. handle their outbound.  If you run a FrontDoor-style mailer or other exotic
  35. pieces of software, CleanOut will not only be of no use to you, but will
  36. probably also cause great harm on your system.
  37.  
  38.                       ┌──────────────────────────┐
  39.                       │  YOU HAVE BEEN WARNED !  │
  40.                       └──────────────────────────┘
  41.  
  42. The currently supported mailers are:
  43. ────────────────────────────────────
  44.  
  45. ■ BinkleyTerm and its several hacks and derivatives
  46. ■ Xenia 1.98
  47. ■ McMail 1.0 gamma
  48. ■ Portal of Power (PoP) 0.62 (untested, but should work)
  49.  
  50. If you run any other Binkley-style mailer, DON'T use this program (it might
  51. kill files that your mailer needs) and contact me.  Send me all the
  52. information you can scrape together concerning what kind of files your
  53. mailer uses to handle its outbound, and I will incorporate it into
  54. CleanOut.
  55.  
  56.  
  57. Minimum system requirements for running CleanOut:
  58. ─────────────────────────────────────────────────
  59.  
  60. ■ MS-DOS 3.0 or up.  CleanOut uses SHARE function calls which aren't
  61.   available in older versions of MS-DOS.  If you use a multitasking
  62.   environment, you must load SHARE.EXE (and if you don't, you should, or
  63.   you might run into BIG trouble)
  64.  
  65. ■ or OS/2 (any version).  CleanOut is a DOS program and must be run in a
  66.   DOS task.  (Yeah yeah, I know.  There will be a version of CleanOut for
  67.   you PROTECTONLY folks some time, but don't hold your breath, okay?)
  68.  
  69.  
  70. Tested environments
  71. ───────────────────
  72.  
  73. CleanOut has been tested with the following mailers:
  74.  
  75. ■ Xenia 1.98
  76. ■ McMail 1.0 gamma
  77. ■ BinkleyTerm 2.59a
  78.  
  79. ... and in the following environments:
  80.  
  81. ■ OS/2 Warp 3.0 (DOS box) with HPFS file system and FAT file system
  82. ■ MS-DOS 5.0, 6.22
  83. ■ 4DOS 5.0, 5.5c
  84. ■ QEMM 7.04
  85. ■ DESQView 2.63
  86. ■ Lantastic 6.0
  87. ■ Novell 3.11, 3.12
  88.  
  89. It might or might not run in other environments and with other mailers,
  90. hey, can we be sure of anything these days?
  91.  
  92.  
  93. ┌─────┬────────────────────────────────────────────────────────────────┐
  94. │  2  │ QUICK START                                                    │
  95. └─────┴────────────────────────────────────────────────────────────────┘
  96.  
  97. For you impatient folks out there, let's get this show on the road right
  98. now.  No warranties at all.
  99.  
  100. CleanOut will kill all files in your outbound directories (and some
  101. other directories that you might want to specify) that your mailer
  102. doesn't know about.  They just lie around and waste space, so let's zap
  103. them.
  104.  
  105. For safety reasons, you should run CleanOut ONLY during your nightly
  106. maintenance when all your mailer tasks are down and your tosser sleeps.
  107.  
  108. ■ Edit the sample config file CLEANOUT.CFG that came with the archive so
  109.   that it fits your needs, and put it in the same directory as
  110.   CLEANOUT.EXE.
  111.  
  112. ■ I *STRONGLY RECOMMEND* that before you run CleanOut for the first
  113.   time, you specify
  114.  
  115.                                 SIMULATE YES
  116.  
  117.   and also a file name for a log file.  That will allow you to run
  118.   CleanOut in merciful mode and not do any actual killing.  Study the
  119.   program's output and the log file and see if that's what you wanted it
  120.   to do.  Once you're satisfied, specify
  121.  
  122.                                 SIMULATE NO
  123.  
  124.   and you're own your own from there on.
  125.  
  126. ■ Specify your name and FTN address(es).
  127.  
  128. ■ Specify ALL of your mailer's outbound directories using the OUTBOUND
  129.   keyword.  (This is IMPORTANT!  I mean ALL OF THEM!  Point directories
  130.   too!)
  131.  
  132. ■ If you use any additional "queue" directories, specify them using the
  133.   SCANALSO keyword.  Files found there will be deleted as well if your
  134.   mailer doesn't know them.
  135.  
  136. ■ Make VERY sure that you don't specify any other directories here which
  137.   might have valuable files in them.  They will be killed.
  138.  
  139. ■ If you want CleanOut to delete old files, use the keyword "NukeDays".
  140.   If you set it to less than 14 days, manual interaction is required
  141.   when CleanOut runs (see below).
  142.  
  143. ■ If you want CleanOut to write a warning to lazy downlinks some time
  144.   before their stuff gets nuked, use the keyword "WarnDays", and set it
  145.   lower than "NukeDays".
  146.  
  147. The config file is heavily commented, so if you're an experienced user,
  148. that should get you going.  If you have trouble understanding anything,
  149. please come back here and read the documentation fully before
  150. continuing.
  151.  
  152.  
  153. ┌─────┬────────────────────────────────────────────────────────────────┐
  154. │  3  │ THE DISTRIBUTION ARCHIVE                                       │
  155. └─────┴────────────────────────────────────────────────────────────────┘
  156.  
  157. CleanOut is distributed in an RAR archive that comes with a security
  158. envelope.  When extracting it (by typing RAR E CLNO_151.RAR), you should
  159. have seen messages similar to these:
  160.  
  161.  
  162. Verifying authenticity information ...  Ok
  163.  
  164. Extracting from CLNO_151.RAR
  165.  
  166. Extracting  CLEANOUT.CFG                                             Ok
  167. Extracting  FILE_ID.DIZ                                              Ok
  168. Extracting  CLEANOUT.DOC                                             Ok
  169. Extracting  WHATSNEW.DOC                                             Ok
  170. Extracting  CLEANOUT.DOK                                             Ok
  171. Extracting  WHATSNEW.DOK                                             Ok
  172. Extracting  CLEANOUT.EXE                                             Ok
  173. Extracting  FLOWAGE.EXE                                              Ok
  174. Extracting  REGISTER.RAR                                             Ok
  175.  
  176. Archive CLNO_151.RAR
  177. created at 15:20:10  30 Jul 1995
  178. by Klaus Nitsche - The Bear's Cave
  179.  
  180. All OK
  181.  
  182.  
  183. If you didn't see the message "Verifying ..." and the one with my name in
  184. it, the archive has been tampered with.  Delete it and obtain the correct
  185. archive somewhere.
  186.  
  187. You can always get the current version in the original archive by file
  188. requesting the magic file name CLEANOUT from the following systems:
  189.  
  190. The Bear's Cave I  FidoNet 2:2461/161    BBS: 49-6144-92241
  191.                    PB-Net  246:6104/1001
  192. The Bear's Cave II FidoNet 2:2461/162    (ISDN, no BBS)
  193.                    PB-Net  246:6104/1002
  194.  
  195. Com-Dat BBS        FidoNet 1:105/314     BBS: 1-503-681-0543
  196.                            1:105/317     BBS: 1-503-640-0278
  197.                            1:105/330     BBS: 1-503-681-8324
  198.  
  199. Reptile Ranch      FidoNet 1:256/102     BBS: 1-613-264-8513
  200.  
  201. CleanOut is also available via anonymous FTP from europa.com in the
  202. directory /outgoing/bearware.
  203.  
  204. To obtain CleanOut via anonymous FTP, do the following:
  205.  
  206.  ftp europa.com
  207.  
  208. Login as anonymous and use your e-mail address as the password.  Then
  209. change to the directory where CleanOut is by:
  210.  
  211.   cd /outgoing/bearware
  212.  
  213. Be sure and give the 'binary' command before transferring the archive.
  214.  
  215.  
  216. ┌─────┬────────────────────────────────────────────────────────────────┐
  217. │  4  │ BEARWARE                                                       │
  218. └─────┴────────────────────────────────────────────────────────────────┘
  219.  
  220. BearWare?  Whuzzat?
  221. ───────────────────
  222.  
  223. CleanOut is BearWare.  BearWare stands for software developed at the Bear's
  224. Cave.
  225.  
  226. CleanOut is distributed under the shareware concept.  You are entitled
  227. to use it for a 30-day evaluation period.  If you continue using it
  228. after that, you must register it.
  229.  
  230. See the included archive REGISTER.RAR for information on how to
  231. register.
  232.  
  233.  
  234. Legalese
  235. ────────
  236.  
  237. CleanOut runs fine on my system and on those of the beta testers.  But
  238. (you guessed it) there are no warranties at all.  Running it (and facing
  239. the consequences) is your responsibility, and yours alone.  I've taken a
  240. number of measures to prevent CleanOut from killing important files
  241. accidentally, but if it does, it's your own fault.  I will only
  242. guarantee that CleanOut uses a certain amount of room on your hard disk.
  243. Nothing else.  I will NOT be liable for ANY damages, direct or indirect,
  244. that using CleanOut might cause you.
  245.  
  246. To make my point very, very clear:
  247.  
  248. If you are a real big echomail server, and CleanOut kills 180 megabytes of
  249. outgoing ArcMail for your downlinks, it ain't my fault.  If it also kills
  250. your business data files for good measure, and you consequently get taxed
  251. double the usual rate and lose all of your customers as well, it ain't my
  252. fault either.
  253.  
  254. ALWAYS test CleanOut by running it in simulation mode when you set it up
  255. for the first time or change your configuration.  NEVER tell it about any
  256. other directories whose contents you would like to keep.
  257.  
  258. CleanOut is copyrighted.  I retain all rights on this program and the
  259. documentation.
  260.  
  261. All brand and product names mentioned in this document are trademarks or
  262. registered trademarks of their respective holders.
  263.  
  264.  
  265. ┌─────┬────────────────────────────────────────────────────────────────┐
  266. │  5  │ CONCEPTS (The real docs start here, folks)                     │
  267. └─────┴────────────────────────────────────────────────────────────────┘
  268.  
  269. Why, fer Gossake???
  270. ───────────────────
  271.  
  272. If you belong to those sysops who at some time decided to switch from a
  273. FrontDoor-style mailer to Binkley or a similar mailer, you'll probably know
  274. the feeling.  Everything that used to be so easy is VERY different now.
  275. Binkley-style mailers have a totally different way of handling their
  276. outbound, and it takes some getting used to.
  277.  
  278. One difference is that a lot of nice tools won't work with a Binkley-style
  279. outbound.  Actually, the main motivation for writing this program was that
  280. the world's best netmail tracker and all-round handy tool for FidoNet
  281. sysops, O/T-Track (written by Peter Hampf), has a few very nice features
  282. built in that will only work if you use a FrontDoor-style mailer.
  283.  
  284. One of them will look into a directory, find all files that lie around
  285. there, and check if your mailer knows about them (by scanning the attach
  286. messages in your FD netmail folder).  If the files aren't found in the
  287. subject of an attach message, they get killed.
  288.  
  289. This function of O/T-Track only works with mailers that use a dynamic
  290. outbound with netmail attach messages.  As I can't seem to convince Peter
  291. of switching to another mailer <grin>, and several people with Binkley-
  292. style mailers have asked for such a baby, well, here's an equivalent for
  293. O/T's MAINT function especially for Binkley-style outbounds.  (Thunderous
  294. round of applause)
  295.  
  296. Also implemented is an equivalent to the /NUKE function, which deletes
  297. old mail for lazy downlinks.  It works based on the date of the flow
  298. files.  A problem here is that most mail and file processors will
  299. "touch" flow files when adding new lines.  That's where the accompanying
  300. tool, FlowAge, comes in -- run it before and after tossing, and it will
  301. keep the DOS time stamp of your flow files at a "real" value.
  302.  
  303.  
  304. What does it do, and how?
  305. ─────────────────────────
  306.  
  307. Simply put, CleanOut will scan your mailer's outbound directories for all
  308. files and check if they belong there.  If they don't, they get zapped.
  309. That's it.
  310.  
  311. Now we get to the question:  "Which files belong there?"  I already said
  312. that we assume you to be familiar with Binkley-style outbounds, so we'll
  313. cut this a little short.  Outbound directories should ONLY contain files
  314. that are of some significance to your mailer, nothing else.
  315.  
  316. Among these files are:
  317.  
  318. ■ Outgoing mail packets.  These are files that usually have extensions such
  319.   as .OUT, .HUT etc.  These files, when sent out, will arrive as .PKT on
  320.   the other side.
  321.  
  322. ■ Flow files.  These are files that contain a list of other files that are
  323.   destined for a certain other node.  Usually they have extensions such as
  324.   .FLO, .CLO etc.  Your mailer uses these files for finding out what files
  325.   a certain node should get, and if it should wait for this node to call
  326.   in, or send the stuff directly.
  327.  
  328.   Outgoing mail packets and flow files always reflect part of the address
  329.   of the node they're going to by means of their file name, which consists
  330.   of hexadecimal representations of the net and node number of the
  331.   destination node.
  332.  
  333.   Each of those hexadecimal representations takes up four characters, which
  334.   is the reason why you need different directories for different zones in
  335.   order to be able to distinguish between, for example, zone 2 and zone 6.
  336.  
  337. ■ ArcMail bundles.  These are archived echomail packets that are ready for
  338.   pickup by one of your up- or downlinks.  They carry extensions such as
  339.   .SU0, .SU1, .MO4, .TUA etc.  An ArcMail bundle is always listed in a flow
  340.   file for a specific node.
  341.  
  342. ■ Other files with any filename that should be sent to a certain node.
  343.   These files are also always listed in a flow file for a specific node.
  344.  
  345. ■ Mailer-specific files that contain information about how often a certain
  346.   node has been dialed without getting a connect, how many failed connects
  347.   with a certain node there have been, etc.  Their file names and
  348.   extensions vary from mailer to mailer.
  349.  
  350. This covers about everything that should legally show up somewhere in your
  351. outbound directories.  There should be no other files in your outbound.
  352.  
  353. Sometimes though, there will be an additional file there for some reason.
  354. Be it that you copied it into your outbound in order to send it to someone
  355. and forgot to delete it later ... or that you configured your file tosser
  356. to copy outgoing files for your downlinks into an outbound directory (but
  357. it doesn't clean up after the file has been sent to the last downlink) ...
  358. or one of your downlinks has stopped polling you, but there's still a huge
  359. ArcMail bundle lying around for him ... etc. etc.
  360.  
  361. Here's where CleanOut comes in.  It makes a list of all files in your
  362. outbound directories and checks if they are listed in one of the flow
  363. files.
  364.  
  365. If a file is NOT listed in a flow file, that means it simply doesn't belong
  366. there, and should be killed.  And that's what CleanOut does.  It takes just
  367. a few seconds to scan through your outbound and zap those unwanted files.
  368.  
  369.  
  370. Exceptions
  371. ──────────
  372.  
  373. Of course, CleanOut will leave those files alone that your mailer needs for
  374. correct operation.  What we are hunting for is those ZIP files that were
  375. forgotten, and those stray ArcMail bundles that aren't going to be picked
  376. up by anyone any more.  We kill these, and then everyone is merry and just
  377. having a great time.
  378.  
  379. Files that CleanOut NEVER touches are:
  380.  
  381. ■ *.REQ files - that might be outgoing file requests.
  382.  
  383. ■ ArcMail files with a size of 0 bytes, even if you tell it to kill
  384.   ArcMail.  Your tosser needs these 0-byte files and should delete them
  385.   by itself.
  386.  
  387. ■ Files in which your mailer keeps important information, such as *.#??,
  388.   *.&??, *.$??, *.-??, *.!??, *.#??, *.Z.
  389.  
  390. ■ *.BSY files that indicate a mail session is currently in progress.  On
  391.   detecting a *.BSY file in your outbound, CleanOut will immediately
  392.   abort before killing any files.  This is for security reasons, and I will
  393.   NOT change it.  The best thing, anyway, is to run CleanOut just once a
  394.   day when all mailer tasks are down, for example in your nightly
  395.   maintenance.
  396.  
  397. ■ Flow files themselves.
  398.  
  399.   Some mailers such as PoP, Xenia and McMail use an "extended" Binkley-
  400.   style outbound.  For example, they understand the "immediate" netmail
  401.   attribute and start dialing out right away, no matter what.  In this
  402.   case, we have a flow file that's called ????????.ILO.  CleanOut knows
  403.   these files and will handle them in the same way as any other flow file.
  404.  
  405.   The currently known file extensions for flow files are:
  406.  
  407.    .HLO .DLO .CLO .ILO .SLO .WLO .PLO .FLO
  408.  
  409.   The currently known file extensions for packets (uncompressed outgoing
  410.   mail) are:
  411.  
  412.    .HUT .DUT .CUT .IUT .SUT .WUT .PUT .OUT
  413.  
  414.   If your mailer uses other file extensions, please let me know.
  415.  
  416.  
  417. Deleting old files
  418. ──────────────────
  419.  
  420. CleanOut can optionally kill old ArcMail and attached files that your
  421. downlinks are too lazy to poll for.  This is done by checking the age of
  422. all flow files.  If a flow file is older than the maximum age specified
  423. by you (the hardcoded minimum value is 14 days), CleanOut can delete it.
  424.  
  425. After the flow file has been deleted, the files referenced in it will be
  426. orphaned ... and, you guessed it, killed by CleanOut.  If you tell
  427. CleanOut that it is allowed to delete ArcMail, this goes for old mail
  428. bundles as well.
  429.  
  430. CleanOut can also write warning messages to lazy downlinks, a few days
  431. before their stuff will get nuked.  It can even readdress those messages
  432. to other FTN addresses where those folks can be reached.
  433.  
  434.  
  435. CleanOut is multi-tasker aware
  436. ──────────────────────────────
  437.  
  438. CleanOut detects whether a file that it wants to delete is currently in use
  439. by another task.  It does that by trying to open it in "Write/Deny All"
  440. access mode and closing it again immediately, right before attempting to
  441. delete it.  If a file is currently locked, CleanOut skips it, and continues
  442. with the next file.
  443.  
  444. CleanOut detects whether it is running under OS/2 or DesqView, and
  445. releases time slices accordingly.
  446.  
  447.  
  448. ┌─────┬────────────────────────────────────────────────────────────────┐
  449. │  6  │ SETTING THINGS UP                                              │
  450. └─────┴────────────────────────────────────────────────────────────────┘
  451.  
  452. Before using CleanOut for the first time, you must configure it.  This is
  453. done by editing the sample configuration file CLEANOUT.CFG with any ASCII
  454. text editor.
  455.  
  456. When you run CleanOut, it finds the config file by looking in the current
  457. directory first.  If it's not there, it looks in the directory in which
  458. CLEANOUT.EXE resides.
  459.  
  460. As usual with most ASCII config files, you can put in as many comments as
  461. you like.  In this case, the first character on the line must be a
  462. semi-colon ";".  CleanOut will ignore comment lines.  All it looks for are
  463. certain keywords that control its behaviour.  These are described below.
  464. Checking is not case sensitive, so you can mix capitals and small letters.
  465.  
  466.  
  467. NAME <your_name>
  468. ────────────────
  469.  
  470. Specify your name here, and replace spaces with underscores.  This is
  471. needed if you want CleanOut to write notification netmail messages.
  472.  
  473. Example:
  474.  
  475. Name Klaus_Nitsche
  476.  
  477.  
  478. ADDRESS <one or more of your FTN addresses>
  479. ───────────────────────────────────────────
  480.  
  481. With this keyword, you specify your FTN addresses.  It is MANDATORY that
  482. you enter at least one address.
  483.  
  484. With this keyword, you specify your FTN addresses.  Again, this is
  485. needed only if you want CleanOut to send netmail.
  486.  
  487. The FIRST address should be the main address under which you run your
  488. mailer, tosser, etc.  Then, you should specify an additional address for
  489. each Fido Technology Net that you belong to, so that CleanOut can choose
  490. the correct address when sending netmail to your downlinks.
  491.  
  492. You shouldn't enter more than one address per net.  CleanOut will pick
  493. the first matching address when writing netmail.
  494.  
  495. Example:
  496.  
  497. Address 2:2461/161         ; my main Fidonet address
  498. Address 2:2461/162         ; will *not* be used because there's
  499.                              already an address for zone 2
  500. Address 246:6104/0         ; my main PB-Net address
  501. Address 111:222/7          ; my main MZ-Net address
  502.  
  503.  
  504. NETMAILDIR <your main netmail directory>
  505. ────────────────────────────────────────
  506.  
  507. Specify your main netmail folder here.  The path given must point to a
  508. valid directory.
  509.  
  510. Example:
  511.  
  512. NetmailDir g:\bink\netmail
  513.  
  514.  
  515. KILLNETMAIL  YES | NO  (Default: No)
  516. ────────────────────────────────────
  517.  
  518. This switch enables you to set the "kill/sent" flag on EVERY outgoing
  519. netmail message.
  520.  
  521.  
  522. SIMULATE  YES | NO  (Default: Yes)
  523. ──────────────────────────────────
  524.  
  525. This is the master on/off switch.
  526.  
  527. If you specify YES, CleanOut will NOT kill any files.  Use this to test
  528. CleanOut on your system.  The output will appear as usual and will show
  529. you the files that CleanOut WOULD have killed if we had been serious
  530. here.
  531.  
  532. When you run CleanOut in simulation mode, you should also enable logging
  533. (see below) and study the log file afterwards.  If you're satisfied with
  534. the results (i.e. CleanOut doesn't want to kill any files that you want
  535. to keep), you can set SIMULATE to NO.  That's when CleanOut gets nasty
  536. and starts killing files.
  537.  
  538.  
  539. LOGFILE  <valid file specification>
  540. ───────────────────────────────────
  541.  
  542. Logging will only be done if you enter a valid filename for the log file
  543. here.  If you leave this keyword out, CleanOut will not log its activity
  544. to disk.
  545.  
  546. The file specification can consist of just a filename, in which case the
  547. log file will be created in the current directory.  If you enter a full
  548. <drive:\path\filename> specification, CleanOut will put its log file
  549. there.
  550.  
  551. Examples:
  552.  
  553. LogFile cleanout.log            ; will put it in the current directory
  554. LogFile x:\blah\bozo.log        ; will create BOZO.LOG in the path
  555.                                 ; X:\BLAH\ if this directory exists
  556.  
  557. If the file you specified exists already, it will be appended to.
  558.  
  559. If you give CleanOut an invalid file specification, you get an error
  560. message, and the program refuses to run.
  561.  
  562.  
  563. LOGLEVEL  MININUM | MEDIUM | HEAVY  (default: Medium)
  564. ─────────────────────────────────────────────────────
  565.  
  566. If you have activated logging by specifying a log file above, use this
  567. keyword to indicate how much information should be written to the log file.
  568.  
  569. Minimum  will log only the most important information.
  570. Medium   will log some more information.
  571. Heavy    will log ALL information including the filenames of all files that
  572.          are checked.  This will increase the size of your log file
  573.          considerably.  Use "Heavy" when testing CleanOut.
  574.  
  575.  
  576. KILLARCMAIL  YES | NO  (Default: No)
  577. ────────────────────────────────────
  578.  
  579. Normally, CleanOut will leave all ArcMail bundles (*.SA?, *.SU? etc.)
  580. alone, EVEN if they're not listed in any flow file.  (We're playing it safe
  581. here.)
  582.  
  583. If you specify YES, it will check if those bundles are listed in one of the
  584. .?LO files in your outbound directories.  If it doesn't find a reference,
  585. ArcMail bundles that are NOT referenced get KILLED.
  586.  
  587. CleanOut understands both *.??[0-9] and *.??[A-Z] naming conventions for
  588. ArcMail bundles.
  589.  
  590. There's one exception here.  Even if you specify YES, CleanOut will leave
  591. ArcMail files with a file size of 0 bytes alone - because your echomail
  592. processor needs them!  Deleting those files is your echomail processor's
  593. responsibility.
  594.  
  595.  
  596. KILLHIDSYS  YES | NO  (Default: No)
  597. ───────────────────────────────────
  598.  
  599. Specifies whether CleanOut is allowed to delete files that have the
  600. "Hidden", "System" or "Read-only" attribute set.
  601.  
  602.  
  603. KILLROOT  YES | NO  (Default: No)
  604. ─────────────────────────────────
  605.  
  606. This is an additional security step.  By default, CleanOut will never
  607. delete files from a root directory (such as C:\ or D:\).  If you DO want to
  608. specify such a root directory below, you MUST also enable this switch.
  609.  
  610. This is to keep you "I'll shoot before I ask" guys from finishing off your
  611. system files in C:\ <grin>.
  612.  
  613.  
  614. NEVERKILL <file name>
  615. ─────────────────────
  616.  
  617. This keyword allows you to specify names of files that CleanOut should
  618. not delete.  This might be useful in some situations.
  619.  
  620. Specify just the file name (without path).  Wildcards are not allowed.
  621.  
  622. Example:
  623.  
  624. NeverKill descript.ion
  625. NeverKill files.bbs
  626.  
  627.  
  628. NUKEDAYS <number of days>
  629. ─────────────────────────
  630.  
  631. With this keyword, you can teach your downlinks a lesson. <grin>
  632.  
  633. Are you running a big system with lots of downlinks?  If so, has it ever
  634. happened that some lazy guy didn't poll you in weeks and his stuff kept
  635. piling up in your outbound, taking precious disk space?  Here's the
  636. solution.  Specify the maximum number of days that a flow file may be
  637. old.  If it's older, CleanOut will delete it.  And, of course, the files
  638. that were referenced in it, if they are not listed in another flow file.
  639.  
  640. If you want to delete mail bundles for the lazy downlink, don't forget
  641. to specify "KillArcMail Yes".
  642.  
  643. The hardcoded minimum number of days you can specify here is 14.  You
  644. *can* give a lower number, but then manual interaction will be required
  645. when CleanOut runs.  It will ask you if you are REALLY sure that you
  646. want to delete flow files that young, and if you don't press "Y" within
  647. 20 seconds, it will default to 14 days.
  648.  
  649. To make this feature work reliably, you will need to use FlowAge, the
  650. accompanying tool to CleanOut (also in the distribution archive).  It
  651. prevents your mail and file processors from changing the date on flow
  652. files.  For more information on FlowAge, see chapter 7 below.
  653.  
  654. If you don't specify the keyword "NukeDays", no age checking will be
  655. done.
  656.  
  657. A note on the outgoing netmail messages that CleanOut creates:  If you
  658. run it in simulation mode, those messages will be locked to prevent them
  659. from going out.  They will have the DOS attribute "read-only" and a
  660. hidden line "FLAGS LOK".
  661.  
  662. Example:
  663.  
  664. NukeDays 21
  665.  
  666.  
  667. NUKEEXCEPTION <FTN address>
  668. ───────────────────────────
  669.  
  670. You want to nuke old stuff for most of your downlinks but want to spare
  671. the packets for a guy who is on holiday for a few weeks?  Nothing easier
  672. than that.  With this keyword, you can specify addresses whose stuff
  673. will NOT be deleted.
  674.  
  675. Example:
  676.  
  677. NukeException 2:2461/161.3
  678. NukeException 246:6104/1200
  679. NukeException 246:6104/1300
  680. NukeException 111:222/7.10
  681.  
  682.  
  683. WARNDAYS <number of days>
  684. ─────────────────────────
  685.  
  686. You can instruct CleanOut to warn lazy downlinks a few days before their
  687. stuff is deleted, so they still have a chance to pick it up.  Of course,
  688. this number should be lower than the value in "NukeDays". :)  CleanOut
  689. will send them a message telling them to hurry up polling for their mail
  690. and files.
  691.  
  692. The downlinks who are listed under "NukeException" above will not
  693. receive warning messages.
  694.  
  695. Example:
  696.  
  697. WarnDays 14
  698.  
  699.  
  700. READDRESS <old address> <new address> <optional message flavour>
  701. ────────────────────────────────────────────────────────────────
  702.  
  703. Hmmm.  They've stopped polling you, and their stuff will probably get
  704. deleted, but there's not much use sending a message to that very
  705. address, right?  They probably wouldn't get it anyway.
  706.  
  707. But if you know of another FTN address where the lazy downlink might be
  708. reached, you can enter it here, and CleanOut will remap the message to
  709. the new address.  (Picking the one of your AKAs that matches as the
  710. sender address, of course.)
  711.  
  712. The "optional message flavour" can be any combination of the words
  713.  
  714.            CRASH (make this message a crash mail),
  715.            KILL  (delete this message after sending), or
  716.            HOLD  (put this message on hold for pickup).
  717.  
  718. Example:
  719.  
  720. Readdress 2:2461/161.2 2:241/1090 Crash Kill
  721. Readdress 246:6104/1300 2:2454/420
  722.  
  723.  
  724. OUTBOUND  <full drive:path specification>
  725. ─────────────────────────────────────────
  726.  
  727. I'm too lazy to implement an intelligent routine that finds your outbound
  728. directories on its own and maybe even recognizes domains.  Sorry.  That
  729. means that you have to enter ALL your outbound directories manually. (A
  730. trailing backslash is not necessary but doesn't hurt either.)
  731.  
  732. CleanOut does NOT recurse through directories, so you have to enter ALL
  733. subdirectories as well.  (Point directories!)
  734.  
  735. CleanOut will search these directories for *.?LO files.  It will also check
  736. if any OTHER file in these directories is referenced in a *.?LO file, and
  737. if not, zap it.
  738.  
  739. The important thing to remember is that *.?LO files are read ONLY from the
  740. outbound directories that you explicitly specify here.  So if you forget to
  741. enter an outbound directory here, CleanOut will miss the information from
  742. the flow files in it, and is very likely to kill files that are referenced
  743. in them!!
  744.  
  745. Another short note:  if CleanOut can't find ANY flow files in ALL of
  746. your outbound directories, it will abort without doing any harm.  That's
  747. because its built-in LASER (Logically-enhanced Artificial Semi-
  748. Intelligence Evaluation Routine) concludes that you probably
  749. specified wrong directories and it's better to be safe than sorry.
  750. (A normal outbound ALWAYS contains at least one or two flow files
  751. somewhere.)
  752.  
  753. Examples:
  754.  
  755. Outbound d:\bink\out
  756. Outbound d:\bink\out\000a0001.pnt
  757. Outbound d:\bink\out.0f6\
  758. Outbound d:\bink\alternet.0f6
  759.  
  760.  
  761. SCANALSO  <full drive:path specification>
  762. ─────────────────────────────────────────
  763.  
  764. You can specify a few additional directories here which you want checked
  765. for files that should be deleted.
  766.  
  767. Why?  Simple.  If you use an extra "queue" directory for outgoing files,
  768. for example (some file tossers support that), or some kind of "private"
  769. directories for certain downlinks, you can let CleanOut scan those
  770. directories as well and delete files there that don't show up in any *.?LO
  771. file in your regular outbound.
  772.  
  773. CleanOut will NOT read *.?LO files here - a flow file should only occur in
  774. your regular outbound anyway.  These directories are only scanned for files
  775. to kill.
  776.  
  777. Examples:
  778.  
  779. ScanAlso d:\bink\out\attach
  780. ScanAlso d:\bink\out\passthru\
  781. ScanAlso d:\bink\out\ticfiles
  782.  
  783.  
  784.  
  785. That's it.  Once you've entered all the information correctly (remember to
  786. specify SIMULATE YES the first time), save the file and you're ready to go.
  787. Fire up CleanOut, watch it scan through your directories, and then study
  788. its log file to see if anything went wrong.
  789.  
  790.                          Happy Killing! <grin>
  791.  
  792.  
  793. ┌─────┬────────────────────────────────────────────────────────────────┐
  794. │  7  │ KEEPING FLOW FILES AT THEIR CORRECT AGE                        │
  795. └─────┴────────────────────────────────────────────────────────────────┘
  796.  
  797. A big problem with Binkley-style outbounds is that you can't judge the
  798. real age of a flow file from its DOS time stamp.  Each time your mail or
  799. file processor adds a new line to a flow file, the DOS time stamp is
  800. "touched" to the current date and time.
  801.  
  802. That, of course, interferes with the "NukeDays" and "WarnDays" stuff.
  803. To make these functions work reliably, I've included another tool called
  804. FlowAge.
  805.  
  806. FlowAge takes one of two command line parameters, INIT or RESET.  You
  807. should run FLOWAGE INIT before running any process that might affect the
  808. time stamps of flow files, such as mail or file processing.  It will
  809. make a snapshot of the flow files in your outbound and remember their
  810. date and time stamps.  Then, when you're done processing, run FLOWAGE
  811. RESET as the last program in your batch file to reset the dates of the
  812. flow files to what they were before.
  813.  
  814. So, a typical mail processing batch file would look like this:
  815.  
  816. ───────────────────────────────
  817. @echo off
  818. flowage INIT                   <-- before anything else happens
  819. fastecho toss -c
  820. feutil link -hmb -jam
  821. ...  (other stuff)
  822. flowage RESET                  <-- the very last command after tossing
  823. ───────────────────────────────
  824.  
  825. FlowAge needs CleanOut's configuration file, of course, to find your
  826. outbound directories and the flow files in them.  To avoid problems,
  827. keep FlowAge in the same directory as CleanOut.
  828.  
  829.  
  830. A note for multiline systems.  FlowAge works in such a way that it
  831. creates a temporary file during the INIT run.  It uses that file during
  832. the RESET run, and deletes it afterwards.  It is your responsibility to
  833. ensure that FlowAge can find its temporary file.
  834.  
  835. What I mean is, you could run into trouble if you allow tossing on
  836. several lines simultaneously.  (This would not only confuse FlowAge, but
  837. other mail/file processing utilities as well.)
  838.  
  839. The ONLY safe way to process mail and files in a multiline environment
  840. is to run only ONE processing batch at the same time.  If you haven't
  841. done so already, you should seriously consider using semaphores to
  842. ensure that a second tossing batch (that might be called shortly after
  843. the first one) exits immediately if it detects that it is already
  844. running.
  845.  
  846.  
  847. ┌─────┬────────────────────────────────────────────────────────────────┐
  848. │  A  │ APPENDIX                                                       │
  849. └─────┴────────────────────────────────────────────────────────────────┘
  850.  
  851. How to reach me
  852. ───────────────
  853.  
  854. If you find a bug in this program, or simply have a suggestion for a future
  855. version, please don't hesitate to contact me.  I can be reached at the
  856. following network addresses:
  857.  
  858. FidoNet:  2:2461/161 (online 24 hours, ZyXEL 16.8) BBS number: +49-6144-92241
  859.           2:2461/162 (online 24 hours, ISDN X.75)  (no BBS)
  860.  
  861. PB-Net:   246:6104/1001 (ZyXEL 16.8)  (same number as above)
  862.           246:6104/1002 (ISDN X.75)
  863.  
  864.           (Routed netmail usually works fine in FidoNet zone 2 and PB-Net,
  865.           so it should reach me if your uplinks support it - if they don't,
  866.           tell them there's no reason not to!!!)
  867.  
  868. The above node and phone numbers might be subject to change by the end
  869. of 1995.  Please look me up in your nodelist before trying to send me a
  870. message.
  871.  
  872. Internet: grizzly@ibm.net
  873.  
  874. I also frequent the echoes OT_SUPPORT (carried on FidoNet, and on PB-Net
  875. as PB-OT) and OT.GER (carried on FidoNet within Germany) which are
  876. concerned with O/T-Track.
  877.  
  878. The current version of CleanOut is always available for file request
  879. with the magic name CLEANOUT at the following Fidonet systems:
  880.  
  881. 2:2461/161 and 2:2461/162       (The Bear's Cave, Ginsheim, Germany)
  882. 1:256/102                       (Reptile Ranch, Perth, Ontario, Canada)
  883. 1:105/314, 1:105/317, 1:105/330 (Com-Dat BBS, Hillsboro, Oregon, USA)
  884.  
  885.  
  886. Reporting bugs
  887. ──────────────
  888.  
  889. If you want to report a bug in CleanOut, or think that it behaves
  890. strangely, please don't just tell me "it doesn't work".  I need
  891. *detailed* information to be able to help you.  What you need to include
  892. is:
  893.  
  894. - the operating system, mailer and tosser you are running
  895. - your CLEANOUT.CFG
  896. - the appropriate part of the logfile (with LOGLEVEL set to HEAVY)
  897. - all relevant information about networking software, available memory,
  898.   the batch file that calls CleanOut
  899. - whether you can reproduce the error.
  900.  
  901.  
  902. Thanks & Credits
  903. ────────────────
  904.  
  905. A big Bear Hug <tm> goes out especially to the following people, who
  906. beta-tested CleanOut (while always running the risk of losing data, but
  907. hey, they trusted me <grin>), and came up with valuable suggestions and
  908. information on how different mailers handle their outbound:
  909.  
  910. Peter Hampf (also for writing his ingenious O/T-Track and for giving me
  911. very sound advice),
  912. and to Frank Köhler, Mike Roark, Eckhart von dem Berge, Uwe Balser, Matthias
  913. Diehl and Jürgen Fuchs.
  914.  
  915. You've been a big help, folks.
  916.  
  917. [EOF]
  918.